package com.sky.admin.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 学生充值卡账户流水记录
 *
 * @author zcyang
 * @date 2024-04-02 11:15:01
 */
@Data
@TableName("read_club_depositor_account_history")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "学生充值卡账户流水记录")
public class ReadClubDepositorAccountHistoryEntity extends
		Model<ReadClubDepositorAccountHistoryEntity> {


	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	@Schema(description = "主键")
	private Integer id;

	/**
	 * 账户编号
	 */
	@Schema(description = "账户编号")
	private String accountNo;

	/**
	 * 账户所属人
	 */
	@Schema(description = "账户消费所属人")
	private Integer userId;

	/**
	 * 1-扣卡;2-充值;3-账户变动
	 */
	@Schema(description = "1-上课划卡;2-课包充值;3-账户变动")
	private Integer operateType;

	/**
	 * 账户剩余次数
	 */
	@Schema(description = "账户剩余次数")
	private Integer remainingTimes;

	/**
	 * 账户交易次数
	 */
	@Schema(description = "账户交易次数")
	private Integer changeTimes;

	/**
	 * 账户变动之前次数
	 */
	@Schema(description = "账户变动之前次数")
	private Integer beforeTimes;

	/**
	 * 购买金额
	 */
	@Schema(description = "购买金额")
	private BigDecimal purchaseMoney;

	/**
	 * 上课记录id
	 */
	@Schema(description = "上课记录id")
	private Integer courseId;

	/**
	 * 备注
	 */
	@Schema(description = "备注")
	private String remarks;

	/**
	 * 创建人名称
	 */
	@Schema(description = "创建人名称")
	private String createByName;

	/**
	 * 创建人
	 */
	@Schema(description = "创建人")
	private Integer createBy;

	/**
	 * 创建时间
	 */
	@Schema(description = "创建时间")
	private Long createTime;

	@Schema(description = "课程包Id")
	private Integer packetId;

	@Schema(description = "手动调整原因")
	private String changeReason;

	@TableField(exist = false)
	@Schema(description = "隶属学生列表")
	private List<ReadClubStudentEntity> studentList;

	@TableField(exist = false)
	@Schema(description = "课程包名称")
	private String packetName;
}